<?php 
/**
 * 商品内容控制器
 */
 
 class ContentController extends CommonController{
 	
	public function index(){
		//获得get里面的sid
		$sid = Q('get.sid',0,'intval');
		//得到商品表数据
		$data = K('Shop')->where("sid={$sid}")->find();
		//分配数据
		$this->assign('data',$data);
		//得到商品详情表数据
		$detail = K('ShopDetail')->where("shop_sid={$sid}")->find();
		//分配数据
		$this->assign('detail',$detail);
		
		//获得该商品的总库存
		$count = M('shoplist')->where("shop_sid={$sid}")->sum('inventory');
		if(isset($count)){
			$this->assign('count',$count);
		}
		
		
		//获得该商品的商品规格
		$temp = M()->join('__shop_attr__ sa JOIN __type_attr__ ta ON sa.type_attr_ta_id=ta.ta_id')->where("shop_sid={$sid} AND attr_type=1")->group('savalue')->all();
		//组合具有规格名称的数组
		//重组数组,根据属性id分组
		$tempSpec = array();
		foreach ($temp as $v) {
			$tempSpec[$v['type_attr_ta_id']][] = $v;
		}	
		//重组数组，通过属性id获得属性id名称并压入数组	
		$spec = array();
		foreach ($tempSpec as $k => $v) {
			$spec[] = array(
				'name' => K('TypeAttr')->where("ta_id=" . $k)->getField('ta_name'),
				'value' => $v
			);
		}
		//分配数据
		$this->assign('spec',$spec);
		
	    $this->display();
	}
	
	public function getSpec(){
	    if(!IS_AJAX) $this->error('非法请求',U('Index/Index/index'));
		//获得ajax发过来的specId
		$specId = Q('post.specId');
		//去掉右边逗号
		$specId = rtrim($specId,',');
		//因为specId的值和货品表里的数据值真好相反，如(6,9!=9,6)
		//所以需要操作specId(反转):(
		$specId = (explode(',', $specId));
		$specId = array_reverse($specId);
		$specId = (implode(',', $specId));
		//获得匹配数据(商品库存量)
		$list = K('ShopList')->where("combine='{$specId}'")->getField('inventory');
		if($list){
			//如果存在数据则返回数据给js
			$this->ajax($list);			
		}else{
			//如果不存在则返回0
			$this->ajax(0);
		}		
	}
 }



 ?>